- Al solito scarichiamo la lista aggiornata dei pacchetti e delle nuove versioni disponibili nei repository. Questo comando si limita a recuperare informazioni, ma, in concreto, non installa nulla.
sudo apt update
- Verifichiamo che abbiamo già python installato tramite il comando:
python3 -V
- Installiamo i moduli pip e venv. venv è il virtual environment che ci consente di creare un’installazione Python isolata “virtuale” e installare i pacchetti in quell’installazione virtuale. Cosi possiamo avere molteplici ambienti virtuali senza causare cambiamenti al Sistema. Pip invece è un package-management system usato per installare e gestire i pacchetti software.
sudo apt install python3-pip python3-venv
- Per poter avere l’ultima versione di Django è preferibile installarlo clonando il progetto dal repo github:
git clone git://github.com/django/django ~/django-dev
- Spostiamoci nella cartella dove abbiamo appena fatto il clone dei files per poter creare un ambiente virtuale su cui installare Django con il modulo venv:
cd ~/django-dev sudo apt install python3.8-venv python3 -m venv my_env
venv crea una copia di python e di pip dentro una directory isolata assieme alla directory del progetto e alla directory che conterrà la gerarchia di tutti i package installati.
- Per installare altri packages al progetto, dobbiamo attivare l’environment:
source my_env/bin/activate
- Installiamo Django nel virtual environment dai file scaricati:
(my_env) pip install -e ~/django-dev
8. Proviamo se è tutto ok col comando:
(my_env) django-admin --version (my_env) deactivate
django-admin --version
Facciamo un esempio di progetto
mkdir -pv ~/django-test cd ~/django-test git clone git://github.com/django/django ~/django-test/django_clone python3 -m venv my_env (my_env) source my_env/bin/activate (my_env) pip install -e ~/django-test/django_clone_github (my_env) django-admin startproject myproject .
Il prossimo passo è quello di applicare le migration (Django utilizza Sqlite). Note: se vogliamo cambiare motore di database bisogna cambiare le impostazioni sul file settings.py.
python manage.py migrate
Consentiamo gli host di poter vedere le pagine:
nano ~/django-test/myproject/settings.py
in ALLOWED_HOST aggiungiamo separati da virgola gli host che possono connettersi:
Aggiungiamo la policy nel firewall per poter accedere tramite la porta 8000
sudo ufw allow 8000
Facciamo partire il server
python3 manage.py runserver 0.0.0.0:8000